package com.seo.service.keyword.sdk;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.seo.pojo.ReturnBody;

/**
 * 
 * KeywordService
 *
 * @author shibeilei
 * @version 2017.12.06 15:42
 *
 */
public interface KeywordGService {

	/**
	 * 关键词列表
	 * 
	 * @param pam
	 * @return
	 */
	List<Map<String, Object>> getKeyWordsList(Map<String, Object> pam);

	/**
	 * api更新关键词列表
	 * 
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> getApiKeyWordsList(Map<String, Object> params);
	
	public List<Map<String, Object>> getApiErrorList();

	void handelNewRankingByApi(Map<String, Object> params);

	/**
	 * 关键词审核列表
	 * 
	 * @param pam
	 * @return
	 */
	List<Map<String, Object>> getKeyWordsReviewList(Map<String, Object> pam);

	/**
	 * 删除（无权限）
	 * 
	 * @param pam
	 */
	void deleteArr(Map<String, Object> pam);
	
	/**
	 * 删除（通过关键词使用天数）
	 * 
	 * @param pam
	 */
	ReturnBody deleteArrByDay(Map<String, Object> pam);

	/**
	 * 批量修改厂商
	 * 
	 * @param pam
	 */
	ReturnBody updateVender(Map<String, Object> pam);

	/**
	 * 获取厂商
	 * 
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> getVenderList();

	/**
	 * 添加厂商
	 * 
	 * @param pam
	 * @return
	 */
	ReturnBody addVender(Map<String, Object> pam);

	/**
	 * 删除厂商
	 * 
	 * @param pam
	 * @return
	 */
	ReturnBody deleteVender(Map<String, Object> pam);

	/**
	 * 关键词审核
	 * 
	 * @param pam
	 */
	void keyWordReview(Map<String, Object> pam);

	/**
	 * 导入
	 * 
	 * @param fileName
	 * @param file
	 * @return
	 * @throws Exception
	 */
	ReturnBody importKeyWord(String fileName, MultipartFile file, String time) throws Exception;

	/**
	 * 导出数据
	 * 
	 * @param pam
	 * @return
	 */
	XSSFWorkbook exportKeyWord(@RequestParam Map<String, Object> pam, HttpServletResponse response) throws Exception;

	/**
	 * 修改价格和类型
	 * 
	 * @param pam
	 * @return
	 */
	ReturnBody updatePriceAndTargetRanking(Map<String, Object> pam);

	/**
	 * 修改最新排名
	 * 
	 * @param pam
	 * @return
	 */
	ReturnBody updateNewRanking(Map<String, Object> pam);

	ReturnBody updateNewRanking(Map<String, Object> pam, String importime);

	/**
	 * 修改昨日排名
	 * 
	 * @param pam
	 * @return
	 */
	ReturnBody updateYesRanking(Map<String, Object> pam);

	/**
	 * 获取手机引擎
	 * 
	 * @return
	 */
	List<Map<String, Object>> getEngineList();

	/**
	 * 关键词停用启用
	 * 
	 * @param pam
	 */
	void updatekeyWordReviewDisabled(Map<String, Object> pam);
}
